Digital still cameras are currently among the most common devices used for acquiring digital images. The ever-increasing resolution of the sensors on the market and the availability of low-consumption digital-signal processors have led to the development of digital cameras which can achieve quality and resolution very similar to those offered by conventional film cameras.
As well as being able to capture individual images (still pictures), the most recent digital cameras can also acquire video sequences (motion pictures). To produce a video sequence, it is necessary to acquire a large number of photograms taken at very short intervals (for example, 15 photograms per second). The processed and compressed photograms are then encoded into the most common digital video formats (for example, MPEG-4).
In devices which can acquire both individual images and video sequences, there are two conflicting requirements. For photographic applications, high resolution and a large processing capacity are required, even at the expense of acquisition speed and memory occupation. In contrast, for video applications, a fast acquisition speed and optimization of memory resources are required, at the expense of resolution.
The same remarks are applicable to digital cameras which are not designed for acquiring video sequences in addition to still images, but are provided with a low-resolution digital display for previewing the image before shooting and/or editing an image after acquisition.
With reference to FIG. 1, a digital camera 1 for photographic and video applications includes an acquisition block 2 formed by a lens and diaphragm 3 and by a sensor 4 onto which the lens focuses an image representative of a real scene.
The sensor 4 is part of an integrated circuit comprising a matrix of photosensitive cells and a driving circuit. Each cell can be addressed and read to obtain an analog electrical quantity related to the light exposure of the cell. The analog electrical quantity obtained from each photosensitive cell is converted into a digital value by an A/D converter 5. This value may be represented by 8, 10 or 12 bits, according to the dynamics of the camera.
In a typical sensor, a single photosensitive cell is associated with each pixel. The sensor is covered by an optical filter formed by a pattern of filter elements each of which is associated with a photosensitive cell. Each filter element transmits to the photosensitive cell associated therewith the luminous radiation corresponding to the wavelength solely of red light, solely of green light, or solely of blue light (absorbing a minimal portion thereof), so that only one component, that is, the red component, the green component, or the blue component is detected for each pixel.
The type of filter used varies according to the manufacturer. The most commonly used is known as a Bayer filter. In this filter, the arrangement of the filter elements, which is known as the Bayer pattern, is shown in FIG. 4a in connection with a 6×6 pixel matrix. With a filter of this type, the green component (G) is detected by half of the pixels of the sensor with a chessboard-like arrangement. The red (R) and blue (B) components are detected by the remaining pixels in alternating rows.
The image output by the analog/digital converter 5 is an incomplete digital image because it is formed by a single component (R, G or B) per pixel. The data that represent this image are conventionally referred to as raw CFA (color filter array) data.
The raw CFA data are sent to the input of a preprocessing unit (PrePro) 6. This unit is active prior to and during the entire acquisition stage, and interacts with the acquisition block 2. The unit estimates, from the incomplete image, various parameters which are useful for performing automatic control functions, i.e., auto-focus, auto-exposure, correction of sensor defects, and white balancing functions.
The incomplete CFA digital image is then sent to a unit 7 known as the IGP (Image Generation Pipeline) which is composed of several blocks. Starting with the CFA image, a block 8 known as a ColourInterp generates by an interpolation process a complete RGB digital image in which a set of three components corresponding to the three R, G and B components is associated with each pixel. This conversion may be considered as a transition from a representation of the image in a single plane (Bayer) to a representation in three planes (R, G, B). This image is then processed by a block 9, known as ImgProc, which is provided for improving quality. Several functions are performed in this block 9, i.e., exposure correction, filtering of the noise introduced by the sensor 4, application of special effects, and other functions. The number and type varies in general from one manufacturer to another.
The complete and improved RGB image is passed to a block 10, which is known as the scaling block. This block reduces the resolution of the image, if required. An application which requires the maximum available resolution equal to that of the sensor (for example, a high-resolution photograph) does not require any reduction in resolution. If, however, for example, the resolution is to be halved for acquiring a video sequence, the scaling block 10 eliminates three quarters of the pixels.
After scaling, the RGB image is converted by a block 11 into the corresponding YCbCr image, in which each pixel is represented by a luminance component Y and by two chrominance components Cb and Cr. This is the last step performed in the IGP unit 7. The next block is a compression/encoding block 12. Generally, the JPEG format is used for individual images and the MPEG-4 format for video sequences.
The resolution necessary for video applications or for preview display is lower than that required for photographic applications. Nevertheless, in the prior art apparatus, the sensor and the IGP are at maximum resolution in both cases. This leads to wasted computation, which translates into a large consumption of time and energy and an unnecessary occupation of memory.